<html>
	<head>
		<meta charset="utf-8"/>
		<title>BComboBox</title>
		<link rel="stylesheet" type="text/css" href="../style.css"/>
	</head>
	<body>
		<h1>BComboBox</h1>
		<p>Inherites from <a href="BWidget.html">BWidget</a></p>
		<h2>public</h2>
		<table id="public">
			<tr><td align="right"/><td><a href="#BComboBox(BWidget*)">BComboBox</a>(BWidget* parent = 0);</td></tr>
			<tr><td align="right"/><td><a href="#~BComboBox()">~BComboBox</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#setAlign(Align)">setAlign</a>(Align align);</td></tr>
			<tr><td align="right">Align </td><td><a href="#align()">align</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#addItem(const BString&,const BValue&)">addItem</a>(const BString& text, const BValue& value = BValue());</td></tr>
			<tr><td align="right">void </td><td><a href="#addItem(BIcon*, const BString&,const BValue&)">addItem</a>(BIcon* icon, const BString& text, const BValue& value = BValue());</td></tr>
			<tr><td align="right">void </td><td><a href="#addItem(BImage*, const BString&,const BValue&)">addItem</a>(BImage* image, const BString& text, const BValue& value = BValue());</td></tr>
			<tr><td align="right">void </td><td><a href="#insertItem(int, const BString&,const BValue&)">insertItem</a>(int pos, const BString& text, const BValue& value = BValue());</td></tr>
			<tr><td align="right">void </td><td><a href="#insertItem(int, BIcon*, const BString&,const BValue&)">insertItem</a>(int pos, BIcon* icon, const BString& text, const BValue& value = BValue());</td></tr>
			<tr><td align="right">void </td><td><a href="#insertItem(int, BImage*, const BString&,const BValue&)">insertItem</a>(int pos, BImage* image, const BString& text, const BValue& value = BValue());</td></tr>
			<tr><td align="right">void </td><td><a href="#removeItem(const BString&)">removeItem</a>(const BString& text);</td></tr>
			<tr><td align="right">void </td><td><a href="#removeItem(int)">removeItem</a>(int index);</td></tr>
			<tr><td align="right">void </td><td><a href="#clearItems()">clearItems</a>();</td></tr>
			<tr><td align="right">void </td><td><a href="#setItem(int, const BString&)">setItem</a>(int index, const BString& text);</td></tr>
			<tr><td align="right">void </td><td><a href="#setItem(int, BIcon*,const BString&)">setItem</a>(int index, BIcon* icon, const BString& text = BString());</td></tr>
			<tr><td align="right">void </td><td><a href="#setItemValue(int, const BValue&)">setItemValue</a>(int index, const BValue& value);</td></tr>
			<tr><td align="right">void </td><td><a href="#setItemValue(const BString&, const BValue&)">setItemValue</a>(const BString& text, const BValue& value);</td></tr>
			<tr><td align="right">bool </td><td><a href="#containItem(const BValue&)">containItem</a>(const BValue& value) const;</td></tr>
			<tr><td align="right">bool </td><td><a href="#containItem(const BString&)">containItem</a>(const BString& text) const;</td></tr>
			<tr><td align="right">int </td><td><a href="#indexOfValue(const BValue&)">indexOfValue</a>(const BValue& value) const;</td></tr>
			<tr><td align="right">int </td><td><a href="#indexOfText(const BString&)">indexOfText</a>(const BString& text) const;</td></tr>
			<tr><td align="right">int </td><td><a href="#itemCount()">itemCount</a>() const;</td></tr>
			<tr><td align="right">BIcon* </td><td><a href="#itemIcon(int)">itemIcon</a>(int index) const;</td></tr>
			<tr><td align="right">BImage* </td><td><a href="#itemImage(int)">itemImage</a>(int index) const;</td></tr>
			<tr><td align="right">const BString& </td><td><a href="#itemText(int)">itemText</a>(int index) const;</td></tr>
			<tr><td align="right">bool </td><td><a href="#moveItem(int, int)">moveItem</a>(int index, int pos);</td></tr>
			<tr><td align="right">bool </td><td><a href="#moveItem(const BValue&, int)">moveItem</a>(const BValue& value, int pos);</td></tr>
			<tr><td align="right">bool </td><td><a href="#moveItem(const BString&, int)">moveItem</a>(const BString& text, int pos);</td></tr>
			<tr><td align="right">void </td><td><a href="#setCurrent(int)">setCurrent</a>(int index);</td></tr>
			<tr><td align="right">int </td><td><a href="#current()">current</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setCurrentText(const BString&)">setCurrentText</a>(const BString& text);</td></tr>
			<tr><td align="right">const BString& </td><td><a href="#currentText()">currentText</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setCurrentValue(const BValue&)">setCurrentValue</a>(const BValue& value);</td></tr>
			<tr><td align="right">const BValue& </td><td><a href="#currentValue()">currentValue</a>() const;</td></tr>
			<tr><td align="right">void </td><td><a href="#setIconSize(const BSize&)">setIconSize</a>(const BSize& iconSize);</td></tr>
			<tr><td align="right">const BSize& </td><td><a href="#iconSize()">iconSize</a>() const;</td></tr>
			<tr><td align="right">virtual BSize </td><td><a href="#sizeHint()">sizeHint</a>() const;</td></tr>
		</table>
		<h2>protected</h2>
		<table id="protected">
			<tr><td align="right">virtual void </td><td><a href="#activeEvent(const BActiveEvent&)">activeEvent</a>(const BActiveEvent& activeEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#resizeEvent(const BEvent&)">resizeEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#styleEvent(const BEvent&)">styleEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#freshEvent(const BEvent&)">freshEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#paintEvent(const BEvent&)">paintEvent</a>(const BEvent& event);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseEnterEvent(const BMouseEvent&)">mouseEnterEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseLeaveEvent(const BMouseEvent&)">mouseLeaveEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
			<tr><td align="right">virtual void </td><td><a href="#mouseClickEvent(const BMouseEvent&)">mouseClickEvent</a>(const BMouseEvent& mouseEvent);</td></tr>
		</table>
		<div id="desc">
			<h2>Detailed Description : </h2>
			<p>The BComboBox widget is a combined button and popup item list.</p>
			<p>A BComboBox provides a means of presenting a list of options to the user in a way that takes up the minimum amount of screen space.</p>
			<p>A combobox is a selection widget that displays the current item, and can pop up a list of all items. It may be editable, allowing the user to modify each item in the list, but edited text won't belong to any item, current index will be reset to -1.</p>
			<h3>Signals:</h3>
			<table>
				<tr><td>Signal_CurrentChanged </td><td>Emited when current item changed.</td></tr>
				<tr><td>Signal_Edited</td><td>Emited when text is edited, current index reset to -1.</td></tr>
				<tr><td>Signal_EditFinished</td><td>Emited when text edting is finished.</td></tr>
			</table>
			<h3>Style:</h3><p>The arrow button is set icon size of half font size, you can use sub style named &amp;quot;arrow&amp;quot; to locate it.</p>
		</div>
		<h2 id="docs">Member Function Documentation</h2>
		<div id="BComboBox(BWidget*)">
			<h3>BComboBox(BWidget* parent = 0);</h3><p>Constructs a combobox with the given parent, using the default model.</p>
		</div>
		<div id="~BComboBox()">
			<h3>~BComboBox();</h3><p>Destroys the combobox.</p>
		</div>
		<div id="setAlign(Align)">
			<h3>void setAlign(Align align);</h3><p>How to adjust icon and text rects in client rect.</p>
		</div>
		<div id="align()">
			<h3>Align align() const;</h3><p>Return align of this combo box.</p>
		</div>
		<div id="addItem(const BString&,const BValue&)">
			<h3>void addItem(const BString& text, const BValue& value = BValue());</h3>
			<p>Adds an item to the combobox with the given text, and containing the specified value. The item is appended to the list of existing items.</p>
		</div>
		<div id="addItem(BIcon*, const BString&,const BValue&)">
			<h3>void addItem(BIcon* icon, const BString& text, const BValue& value = BValue());</h3>
		</div>
		<div id="addItem(BImage*, const BString&,const BValue&)">
			<h3>void addItem(BImage* image, const BString& text, const BValue& value = BValue());</h3>
		</div>
		<div id="insertItem(int, const BString&,const BValue&)">
			<h3>void insertItem(int pos, const BString& text, const BValue& value = BValue());</h3>
		</div>
		<div id="insertItem(int, BIcon*, const BString&,const BValue&)">
			<h3>void insertItem(int pos, BIcon* icon, const BString& text, const BValue& value = BValue());</h3>
		</div>
		<div id="insertItem(int, BImage*, const BString&,const BValue&)">
			<h3>void insertItem(int pos, BImage* image, const BString& text, const BValue& value = BValue());</h3>
		</div>
		<div id="removeItem(const BString&)">
			<h3>void removeItem(const BString& text);</h3>
		</div>
		<div id="removeItem(int)">
			<h3>void removeItem(int index);</h3>
		</div>
		<div id="clearItems()">
			<h3>void clearItems();</h3><p>Remove all items, Current index reset -1.</p>
		</div>
		<div id="setItem(int, const BString&)">
			<h3>void setItem(int index, const BString& text);</h3><p>Find item by index, if item found item's text will be set. if index equal current this widget will be freshed.</p>
		</div>
		<div id="setItem(int, BIcon*,const BString&)">
			<h3>void setItem(int index, BIcon* icon, const BString& text = BString());</h3>
		</div>
		<div id="setItemValue(int, const BValue&)">
			<h3>void setItemValue(int index, const BValue& value);</h3>
		</div>
		<div id="setItemValue(const BString&, const BValue&)">
			<h3>void setItemValue(const BString& text, const BValue& value);</h3>
		</div>
		<div id="containItem(const BValue&)">
			<h3>bool containItem(const BValue& value) const;</h3>
		</div>
		<div id="containItem(const BString&)">
			<h3>bool containItem(const BString& text) const;</h3>
		</div>
		<div id="indexOfValue(const BValue&)">
			<h3>int indexOfValue(const BValue& value) const;</h3>
		</div>
		<div id="indexOfText(const BString&)">
			<h3>int indexOfText(const BString& text) const;</h3>
		</div>
		<div id="itemCount()">
			<h3>int itemCount() const;</h3>
		</div>
		<div id="itemIcon(int)">
			<h3>BIcon* itemIcon(int index) const;</h3>
		</div>
		<div id="itemImage(int)">
			<h3>BImage* itemImage(int index) const;</h3>
		</div>
		<div id="itemText(int)">
			<h3>const BString& itemText(int index) const;</h3>
		</div>
		<div id="moveItem(int, int)">
			<h3>bool moveItem(int index, int pos);</h3>
		</div>
		<div id="moveItem(const BValue&, int)">
			<h3>bool moveItem(const BValue& value, int pos);</h3>
		</div>
		<div id="moveItem(const BString&, int)">
			<h3>bool moveItem(const BString& text, int pos);</h3>
		</div>
		<div id="setCurrent(int)">
			<h3>void setCurrent(int index);</h3>
		</div>
		<div id="current()">
			<h3>int current() const;</h3>
		</div>
		<div id="setCurrentText(const BString&)">
			<h3>void setCurrentText(const BString& text);</h3>
		</div>
		<div id="currentText()">
			<h3>const BString& currentText() const;</h3>
		</div>
		<div id="setCurrentValue(const BValue&)">
			<h3>void setCurrentValue(const BValue& value);</h3>
		</div>
		<div id="currentValue()">
			<h3>const BValue& currentValue() const;</h3>
		</div>
		<div id="setIconSize(const BSize&)">
			<h3>void setIconSize(const BSize& iconSize);</h3>
		</div>
		<div id="iconSize()">
			<h3>const BSize& iconSize() const;</h3>
		</div>
		<div id="sizeHint()">
			<h3>virtual BSize sizeHint() const;</h3>
		</div>
		<div id="activeEvent(const BActiveEvent&)">
			<h3 id="activeEvent(const BActiveEvent&)">virtual void activeEvent(const BActiveEvent& activeEvent);</h3>
		</div>
		<div id="resizeEvent(const BEvent&)">
			<h3 id="resizeEvent(const BEvent&)">virtual void resizeEvent(const BEvent& event);</h3>
		</div>
		<div id="styleEvent(const BEvent&)">
			<h3 id="styleEvent(const BEvent&)">virtual void styleEvent(const BEvent& event);</h3>
		</div>
		<div id="freshEvent(const BEvent&)">
			<h3 id="freshEvent(const BEvent&)">virtual void freshEvent(const BEvent& event);</h3>
		</div>
		<div id="paintEvent(const BEvent&)">
			<h3 id="paintEvent(const BEvent&)">virtual void paintEvent(const BEvent& event);</h3>
		</div>
		<div id="mouseEnterEvent(const BMouseEvent&)">
			<h3 id="mouseEnterEvent(const BMouseEvent&)">virtual void mouseEnterEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
		<div id="mouseLeaveEvent(const BMouseEvent&)">
			<h3 id="mouseLeaveEvent(const BMouseEvent&)">virtual void mouseLeaveEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
		<div id="mouseClickEvent(const BMouseEvent&)">
			<h3 id="mouseClickEvent(const BMouseEvent&)">virtual void mouseClickEvent(const BMouseEvent& mouseEvent);</h3>
		</div>
	</body>
</html>